package com.cndw.kungfu.model.general;

import java.util.Collections;
import java.util.Map;
import java.util.TreeMap;

/**
 * 
 * 在线和离线打坐经验配置
 * 
 * @author <a href="mailto:whz-work@163.com">汪洪州</a>
 * 
 * @since 1.0 Create on 2011-5-30
 */
public class ModeExpConfig {

	/**
	 * 离线经验配置
	 */
	private static final Map<Integer, Integer[]> offlineExp = initOfflineExpConfig();

	private static final Map<Integer, Integer> onlineExp = initOnlineExpConfig();

	public static Map<Integer, Integer[]> getOfflineExp() {
		return offlineExp;
	}

	public static Map<Integer, Integer> getOnlineExp() {
		return onlineExp;
	}
	
	
	public static int getExpOnline(int level){
		if (onlineExp.containsKey(level)) {
			return onlineExp.get(level);
		}
		int exp = 0;
		for (Integer e : onlineExp.keySet()) {
			if (level >= e) {
				exp = onlineExp.get(e).intValue();
				break;
			}
		}
		return exp;
	}

	private static Map<Integer, Integer[]> initOfflineExpConfig() {
		Map<Integer, Integer[]> map = new TreeMap<Integer, Integer[]>(Collections.reverseOrder());
		map.put(91, new Integer[] { 7, 3000000 });//(玩家等级,{兑换所需道具数量, 获得的经验})
		map.put(81, new Integer[] { 6, 1500000 });
		map.put(71, new Integer[] { 5, 1000000 });
		map.put(61, new Integer[] { 4, 400000 });
		map.put(51, new Integer[] { 3, 150000 });
		map.put(41, new Integer[] { 2, 30000 });
		map.put(30, new Integer[] { 1, 20000 });
		map.put(22, new Integer[] { 1, 10000 });
		return map;
	}

	private static Map<Integer, Integer> initOnlineExpConfig() {
		Map<Integer, Integer> map = new TreeMap<Integer, Integer>(Collections.reverseOrder());
		map.put(10, 10);//(玩家等级, 经验值)
		map.put(11, 11);
		map.put(12, 12);
		map.put(13, 13);
		map.put(14, 14);
		map.put(15, 15);
		map.put(16, 16);
		map.put(17, 17);
		map.put(18, 18);
		map.put(19, 19);
		map.put(20, 20);
		map.put(21, 21);
		map.put(22, 22);
		map.put(23, 23);
		map.put(24, 24);
		map.put(25, 25);
		map.put(26, 26);
		map.put(27, 27);
		map.put(28, 28);
		map.put(29, 29);
		map.put(30, 30);
		map.put(31, 31);
		map.put(32, 32);
		map.put(33, 33);
		map.put(34, 34);
		map.put(35, 35);
		map.put(36, 36);
		map.put(37, 37);
		map.put(38, 38);
		map.put(39, 39);
		map.put(40, 40);
		map.put(41, 41);
		map.put(42, 42);
		map.put(43, 43);
		map.put(44, 44);
		map.put(45, 45);
		map.put(46, 46);
		map.put(47, 47);
		map.put(48, 48);
		map.put(49, 49);
		map.put(50, 164);
		map.put(51, 199);
		map.put(52, 195);
		map.put(53, 192);
		map.put(54, 188);
		map.put(55, 209);
		map.put(56, 208);
		map.put(57, 204);
		map.put(58, 221);
		map.put(59, 220);
		map.put(60, 268);
		map.put(61, 293);
		map.put(62, 290);
		map.put(63, 310);
		map.put(64, 305);
		map.put(65, 326);
		map.put(66, 320);
		map.put(67, 339);
		map.put(68, 333);
		map.put(69, 351);
		map.put(70, 417);
		map.put(71, 437);
		map.put(72, 431);
		map.put(73, 450);
		map.put(74, 468);
		map.put(75, 460);
		map.put(76, 476);
		map.put(77, 469);
		map.put(78, 486);
		map.put(79, 500);
		map.put(80, 514);
		map.put(81, 506);
		map.put(82, 521);
		map.put(83, 533);
		map.put(84, 544);
		map.put(85, 557);
		map.put(86, 568);
		map.put(87, 560);
		map.put(88, 571);
		map.put(89, 581);
		map.put(90, 591);
		map.put(91, 600);
		map.put(92, 609);
		map.put(93, 618);
		map.put(94, 625);
		map.put(95, 650);
		map.put(96, 655);
		map.put(97, 663);
		map.put(98, 670);
		map.put(99, 677);
		map.put(100, 690);
		map.put(101, 690);
		map.put(102, 690);
		map.put(103, 690);
		map.put(104, 690);
		map.put(105, 690);
		map.put(106, 690);
		map.put(107, 690);
		map.put(108, 690);
		map.put(109, 690);
		map.put(110, 690);
		map.put(111, 690);
		map.put(112, 690);
		map.put(113, 690);
		map.put(114, 690);
		map.put(115, 690);
		map.put(116, 690);
		map.put(117, 690);
		map.put(118, 690);
		map.put(119, 690);
		map.put(120, 690);
		return map;
	}
}
